<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

</body>
<script>
  // 块级作用 => ES6新增的一个作用域

  // 如何形成块级作用域
  // 除对象数据外  => 只要有{}的都可以形成块级作用域

  // var obj={  //对象数据 不是作用域
  //     a:1,
  //     b:2,
  // }

  // if(){}
  // if(){

  // }else{

  // }
  // switch(){

  // }
  // while(){

  // }
  // do{}while()
  // for(){}

  // 直接在代码中 {}  => 纯净的块级作用域
  // {
  //     var a = 10;  //全局的 (包裹块级作用的父作用域是全局)
  //     let b = 20;  //  let声明的变量是局部的(块级作用域内生效)
  //     console.log(a,b);
  // }
  // console.log(a,b);

  // function fn(){
  //     {
  //     var a = 10; //局部的 (包裹块级作用的父作用域是函数)
  //     let b = 20;
  //     console.log(a,b);
  //     }
  // }


  if (true) {
    var a = 10;  //全局的 (包裹块级作用的父作用域是全局)
    let b = 20;  //  let声明的变量是局部的(块级作用域内生效)
    console.log(a, b);
  }
  console.log(a, b);


</script>

</html>